测试面向汽车的 Android 应用  

您所在的位置:网站首页 android auto下载oppo 测试面向汽车的 Android 应用  

测试面向汽车的 Android 应用  

2023-07-08 11:29| 来源: 网络整理| 查看: 265

测试汽车应用可确保用户不会遇到意外结果或糟糕体验。测试应用的方式取决于应用会在 Android Auto 还是 Android Automotive OS 上运行。

如需开始测试,请参阅以下某一部分:

测试 Android Auto 应用 测试 Android Automotive OS 应用 重要提示:除了测试应用的用户体验之外,还要确保应用满足 Android 汽车应用质量页面上针对相应类别应用列出的所有条件,然后才能将应用提交到 Google Play 进行审核。 测试 Android Auto 应用

桌面车机 (DHU) 可让您的开发机器模拟 Android Auto 车机,以便您运行和测试 Android Auto 应用。DHU 可在 Windows、macOS 和 Linux 系统上运行。

本部分介绍了如何在开发机器上安装和运行 DHU,以便测试应用。安装 DHU 后,您可以通过运行 DHU 中所述的某一个受支持的连接机制将移动设备连接到 DHU 来测试 Android Auto 应用。

注意:如果您是在搭载 Android 10(API 级别 29)或更高版本的移动设备上进行测试,在首次运行 DHU 之前,需要登录 Google Play 商店并更新 Android Auto 应用。如果您构建的是媒体应用,还可以使用媒体控制器测试应用来测试媒体会话实现。

如需报告与 DHU 相关的错误或提交与 DHU 相关的功能请求,请使用此问题跟踪器。

安装 DHU

如需在开发机器上安装 DHU,请按以下步骤操作:

在搭载 Android 6.0(API 级别 23)或更高版本的移动设备上启用开发者模式,如配置设备上的开发者选项中所述。 编译应用并在设备上安装应用。 在设备上安装 Android Auto。如果已安装 Android Auto,请确保您使用的是最新版本。

在 Android Studio 中,打开 SDK 管理器并进入 SDK Tools 标签页,然后下载 Android Auto Desktop Head Unit Emulator 软件包。

SDK 管理器中显示了 DHU 2.0。

DHU 安装在 SDK_LOCATION/extras/google/auto/ 目录中。

在 Linux 或 macOS 系统上,从该目录下运行以下命令,以确保 DHU 二进制文件可执行:

chmod +x ./desktop-head-unit 注意:DHU 包含 libusb 库,该库会下载到同一目录。该库应始终与 DHU 可执行文件在同一位置,以便能够正常运行。 适用于 Linux 的额外步骤

如果您是在 Linux 系统上运行版本 2.x,还需要安装一些其他库。DHU 二进制文件依赖于 GLIBC 版本 2.32 或更高版本。您可以通过运行以下命令来检查系统的 GLIBC 版本:

ldd --version

如果版本低于 2.32,请将 GLIBC 更新到 2.32 或更高版本,这可能需要您将 OS 升级到与 GLIBC 2.32 或更高版本兼容的版本。

注意:Debian 稳定版目前不支持版本 2.32。如果您遇到这种情况,请提交问题报告。

您还必须安装 libc++1 和 libc++abi1 库。安装过程因 Linux 发行版而异。例如,在 Debian 衍生 Linux 发行版中,您可以使用以下命令安装这些库:

sudo apt-get install libc++1 libc++abi1 安装 DHU 的预发布版本

如需获得 DHU 预发布版本的访问权限,您可以使用Android Studio 的预览版,或者为当前安装的 Android Studio 更改更新渠道,改为 Beta 渠道。

运行 DHU

安装 DHU 后,您可以通过 USB 将移动设备连接到工作站来测试 Android Auto 应用。使用配件模式(推荐用于 DHU 2.x)或 ADB 隧道将移动设备连接到开发机器,从而运行 DHU。

使用配件模式建立连接(仅限 DHU 2.x)

Android Auto 支持使用 Android 开放配件 (AOA) 协议连接到 DHU 2.x,所用的命令如下:

./desktop-head-unit --usb

默认情况下,DHU 会扫描可用 USB 设备的列表,并尝试连接到扫描到的首个兼容设备。如需定位到特定设备,请在 --usb 命令中包含设备 ID,具体如下所示:

./desktop-head-unit --usb=[DEVICE_ID] 注意:在 Windows 上,该功能可能需要您针对相应移动设备安装 WinUSB 驱动程序,并可能会干扰 ADB 连接。如果 DHU 未能发现并连接到移动设备,请在启动 DHU 之前尝试运行 adb kill-server,或采用下一部分中的备用连接方法。 使用 ADB 隧道建立连接

如需使用该方法,您需要通过 Android 调试桥 (adb) 设置与 Android Auto 车机服务器的连接。如需设置隧道并运行 DHU,请按以下步骤操作:

根据设备搭载的 Android 版本,执行下面相应的一项操作以打开 Android Auto 设置:

Android 10 或更高版本:在设备上,依次点按设置 > 应用和通知 > 查看所有应用 > Android Auto > 高级 > 应用中的其他设置。 Android 9 或更低版本:在 Android Auto 应用中,点按菜单,然后点按设置。

滚动到底部附近的关于部分,然后点按版本以显示版本和权限信息。

点按版本和权限信息部分 10 次。

系统会显示允许开发设置对话框。

点按确定。

开发者模式现已启用,您可以在溢出菜单中访问开发者选项。您只需启用开发者模式一次。

如果车机服务器尚未运行,请打开溢出菜单,然后选择启动车机服务器,如图 1 所示。

在设备上,一个前台服务会出现在通知区域中,指明服务器正在运行,如图 2 所示。

包含开发者选项的上下文菜单

图 1. 包含开发者选项的上下文菜单。

指明车机服务器正在运行的通知

图 2. 指明车机服务器正在运行的通知。

在 Android Auto 应用中,点按设置顶部附近的之前连接的汽车,并确保启用了将新车信息添加到 Android Auto。

通过 USB 将移动设备连接到开发机器。

确保移动设备的屏幕处于解锁状态,以便它启动 DHU。

在开发机器上,运行以下 adb 命令,将套接字连接从开发机器的端口 5277 转发到 Android 设备上的同一端口号。此配置可让 DHU 通过 TCP 套接字连接到移动设备上运行的车机服务器。

adb forward tcp:5277 tcp:5277

通过从 SDK_LOCATION/extras/google/auto/ 目录运行 desktop-head-unit.exe 命令(在 Windows 上)或 ./desktop-head-unit 命令(在 macOS 或 Linux 上)来启动 DHU:

cd SDK_LOCATION/extras/google/auto desktop-head-unit.exe # Windows ./desktop-head-unit # macOS or Linux

在开发机器上启动了 DHU

如果这是您首次将移动设备连接到 DHU,请查看移动设备的屏幕以接受服务条款,并根据需要调整权限设置。

DHU 启动后,您可以使用 DHU 控制台命令运行和测试应用。

命令行选项

默认情况下,车机服务器通过端口 5277 进行连接。如需替换主机或端口,请使用 --adb= 标记,如以下示例所示:

./desktop-head-unit --adb=5999

默认情况下,DHU 会模拟带有触摸屏界面的 Android Auto 兼容车机。使用鼠标点击 DHU 来模拟用户轻触操作。如需模拟使用旋控器进行输入的车机,您可以使用 -i controller 标记,如以下示例所示:

./desktop-head-unit -i controller

当 DHU 在旋控器模式下时,您可以使用键盘快捷键来模拟控制器操作。如需了解详情,请参阅旋控器部分。在旋控器模式下,DHU 会忽略鼠标点击操作。您必须使用模拟的旋控器操作来操控 Android Auto。

下表列出了 DHU 的其他命令行选项:

选项 说明 -c,--config=FILE 使用指定的 .ini 配置文件。如需了解详情,请参阅配置 DHU 部分。 -i,--input=INPUT 使用指定的输入模式,可以是 touch、rotary 和 hybrid 其中之一。 -a,--adb=HOSTPORT 使用 ADB 传输。可选 host:port 或 port。默认为端口 5277。 -a,--usb=DEVICE_ID 使用 USB AOA 传输。可选 DEVICE_ID。 -v,--version 显示版本信息。 -l,--licenses 显示开源许可。 -h,--headless 在无头模式(无界面)下运行。 -t,--always_show_window_on_top 在其他窗口之上显示 DHU 窗口(默认关闭) -?,--help 显示帮助列表。 DHU 用户指南

本部分介绍了 DHU 支持的功能以及如何使用这些功能。

在您启动 DHU 的终端窗口中输入命令。多个命令可以在同一行上运行,只需用 ; 隔开即可。

系统 命令 键 说明 help [command] 显示完整的命令集。如果指定了命令名称,将显示该命令的相关帮助。 quit exit Alt+Q 退出车机。 sleep [seconds] 休眠一秒。如果指定了延迟时间,则休眠相应的 seconds 数。此命令可用于通过 ./desktop-head-unit < script.txt 为车机写脚本,例如在 CI 环境中。 screenshot filename.png 将屏幕截图保存为 filename.png. licenses 显示 DHU 中所用库的许可。 keycode keycode 发送 keycode,它是键码部分中列出的某个名称。 触摸和触控板

启用触摸或触控板后,显示窗口(针对触摸)或触控板窗口(针对触控板)中的点击操作会注册为触摸事件。

对于触摸,请通过右键点击第一根手指的位置,然后针对第二根手指点击并按住右按钮来模拟多点触控。双指的中心点保持固定,移动鼠标可让您围绕中心旋转双指和/或双指张合。

对于触控板,点击并按住左按钮可在屏幕上的不同界面元素之间滚动。点击右按钮可选择当前获得焦点的元素。

命令 键 说明 tap x y 模拟指定坐标处的触摸事件。 旋控器

DHU 支持旋控器。启用旋控器后,支持以下操作:

点击方向键的上下左右键 顺时针和逆时针旋转 执行旋转翻动(一次五步) 点击控制器上的向下按钮和返回按钮

下表列出了相关的命令和按键组合。

鼠标上的滚轮发送 dpad rotate 命令,点击鼠标中键(通常是滚轮)则发送 dpad click 命令。

请注意,大多数汽车都配备触摸屏。有些汽车只有旋控器,还有一些具有触摸和控制器混合配置。汽车还能支持触控板,它可用于地图平移和文字输入。在模拟不同的车机时,请注意这些不同的配置。

命令 键 说明 dpad {up|down|left|right} 箭头键 移动旋控器。 dpad {ur|dl|ul|dr} 移动旋控器。 dpad soft {left|right} Shift+箭头键 按某些旋控器上可用的侧边按钮。 dpad click Return 键 按旋控器。 dpad back 退格键 按某些旋控器下方可用的返回按钮。 dpad rotate left 1 (向左)逆时针旋转旋控器。 dpad rotate right 2 (向右)顺时针旋转旋控器。 dpad flick left Shift+1 逆时针快速旋转旋控器。 dpad flick right Shift+2 顺时针快速旋转旋控器。 dpad 0-9*#+ 数字小键盘 麦克风

DHU 支持使用麦克风进行语音输入或播放预先录制的语音内容。为方便起见,DHU 中包含了常用语音指令的以下声音文件。这些声音文件位于 SDK_LOCATION/extras/google/auto/voice/ 目录中。

文件名 文字 navhome.wav Navigate to home.(导航到家。) navwork.wav Navigate to work.(导航到单位。) navsoh.wav Navigate to Sydney Opera House.(导航到悉尼歌剧院。) navgoogle.wav Navigate to 1600 Amphitheatre Parkway, California, USA.(导航到美国加利福尼亚露天剧场大道 1600 号。) exitnav.wav Exit navigation.(退出导航。) howlong.wav How long until I get there?(要多久才能到达那里?) showtraffic.wav Show traffic.(显示路况。) showalternateroute.wav Show alternate routes.(显示备选路线。) pause.wav Pause music.(暂停播放音乐。) nextturn.wav When is my next turn?(到达下一个转弯是什么时候?)

如需在 DHU 提示符中运行单个 .wav 文件,请使用以下命令:

mic play /path/to/filename.wav

下表列出了与麦克风相关的其他命令:

命令 键 说明 mic begin M 激活麦克风,模拟点击方向盘上的按钮,然后等待计算机麦克风的输入。 mic play filename.wav 激活麦克风,并播放指定的 WAV 文件录音。注意:您不会听到正在播放的 WAV 文件,但会听到 Android Auto 的响应。 mic repeat 重复上次的录音,与 mic play 一起使用。 mic reject {on|off} 启用或停用拒绝麦克风请求。开启后,系统会拒绝所有麦克风请求。 传感器

DHU 支持使用以下命令模拟车辆传感器数据的变化。如需模拟传感器数据并将其发送到 Android Auto,必须在启动 DHU 时使用配置 .ini 文件启用相应的传感器。

命令 说明 fuel [percentage] 将油位设置为指定的百分比,或(通过不传入值)停用油位。 range [km] 将范围设置为指定的公里数,或(通过不传入值)停用范围数据。 lowfuel [{on|off}] 设置低燃油警告传感器,或(通过不传入值)停用传感器。 accel [x] [y] [z] 将加速度计设置为指定的 x、y 和 z 值 (m/s^2),或(通过不传入参数)取消设置加速度计数据。如果需要,传入 NAN 来跳过可选参数。 compass bearing [pitch] [roll] 将罗盘设置为指定的方位、俯仰角和侧倾角值(度)。如果需要,传入 NAN 来跳过可选参数。 gyro [x] [y] [z] 将陀螺仪设置为指定的 x、y 和 z 旋转速度 (rad/s),或(通过不传入参数)取消设置陀螺仪数据。如果需要,传入 NAN 来跳过可选参数。 location lat long [accuracy] [altitude] [speed] [bearing] 将位置设置为指定的纬度和经度值,以及可选的精度(米)、海拔(米)、速度(米/秒)和方位(度)。如果需要,传入 NAN 来跳过可选参数。 odometer km [current_trip_km] 将里程表设置为指定的公里数,以及当前的行程公里值(可选)。 speed [speed] 将车辆行驶速度设置为指定的值(米/秒),或(通过不传入值)停用传感器。 tollcard {insert|remove} 插入或取出收费卡。 日间和夜间模式

DHU 支持通过以下命令和按键组合模拟日间模式与夜间模式之间的变化。

命令 键 说明 day Shift+N 激活日间模式(高亮度,全彩色)。 night Ctrl+N 激活夜间模式(低亮度,高对比度)。 daynight nightday N 切换日间/夜间模式。 焦点管理

DHU 支持使用以下命令模拟 Android Auto 的焦点是否在车机上。

命令 说明 focus video {on|off|toggle} 设置视频焦点是否在车机上。关闭视频焦点可模拟车机进入原生模式的情况。 focus audio {on|off|toggle} 设置音频焦点是否在车机上。关闭音频焦点可模拟车机播放自身音频源的情况。 focus nav {on|off|toggle} 设置导航焦点是否在车机上。关闭导航焦点可模拟车机运行自身导航系统的情况。 限制和驾驶状态

DHU 支持模拟车辆移动时的某些限制,例如停用键盘和禁止手机配置,使用的命令如下:

命令 键 说明 restrict none U 停用所有限制。 restrict all Shift+U 启用所有限制,例如为了模拟驾驶。 仪表板

DHU 支持模拟仪表板。仪表板通常位于方向盘后面,它会在导航期间显示有关下一个转弯的基本信息(例如下一条道路的名称或转弯箭头)、距离或时间。仪表板还会显示有关进行中的通话的信息。

DHU 的仪表板窗口,其中显示了导航和通话状态信息

这可以使用配置文件的 [general] 部分中的 instrumentcluster 条目来启用,也可以通过 navcluster 或 phonecluster 条目来启用,以单独控制每项功能。

[general] ... instrumentcluster = true 仪表板屏幕

某些车辆配备有能够显示丰富视觉信息(例如地图图块)的仪表板屏幕。从 2.1 版的 DHU(目前通过 Android Studio Beta 版更新渠道提供)开始,您可以在开发机器上模拟此类屏幕。

这可以通过包含仪表板 [display] 部分的配置文件来实现。 [display] 部分支持的视频配置选项与文件的 [general] 部分中配置的主屏幕相同。

图 3. 运行包含次要仪表板屏幕的 DHU 时的主屏幕。 图 4. 运行包含次要仪表板屏幕的 DHU 时的仪表板屏幕。 ... # The display name following the colon can be whatever you like. [display:cluster] # Setting the displaytype as cluster is what lets the DHU know how to handle it. displaytype = cluster resolution = 800x480 dpi = 160 ...

您可以直接将此配置添加到现有的 .ini 文件中,也可以将其放置在一个单独的文件中并在启动 DHU 时传递多个配置文件,以便于进行重用。使用多个配置文件时,指定值的后续定义会替换之前的配置文件。

# Launch your landscape configuration with your cluster display configuration ./desktop-head-unit -c landscape.ini -c cluster.ini # Launch the portait configuration with the same cluster display configuration ./desktop-head-unit -c portrait.ini -c cluster.ini 媒体播放状态

DHU 支持额外的信息显示,以显示媒体播放状态,例如正在播放的曲目。

DHU 的媒体播放状态窗口,其中显示了播放信息

这可以通过 [general] 部分中的 playbackstatus 条目来启用。

[general] ... playbackstatus = true 键码

DHU 提供了一组默认的键码,用于模拟车辆中常用的一组快捷按钮。例如,可以在 DHU 提示符中触发 home 键码,如下所示:

keycode home

下表列出了其他可用的键码:

键码 说明 home 转到主屏幕。 back 返回。 call endcall 拨打电话或结束通话。 search 触发搜索。 media_play_pause media_play media_pause 播放或暂停播放媒体。 media_next media_previous 转到下一个或上一个媒体曲目。 media 转到默认媒体应用。 navigation 转到默认导航应用。 tel 转到默认电话应用。 配置 DHU

DHU 支持一个 .ini 配置文件,以更改输入模式(在触摸和旋控器之间),设置车机从手机请求的帧速率、分辨率和 DPI。

该配置文件的默认位置为 ~/.android/headunit.ini。若要更改系统上车机的配置,您可以修改此文件。

您还可以使用 -c 标志指定要加载的配置文件:

./desktop-head-unit -c /path/to/config.ini

以下代码段显示了一个示例配置:

[general] touch = true touchpad = false controller = false instrumentcluster = false resolution = 800x480 dpi = 160 framerate = 30 fueltypes = unleaded,electric,hydrogen evconnectors = supercharger

示例配置文件位于 SDK_LOCATION/extras/google/auto/config/ 文件夹下,可演示您可据以测试的不同车机设置。如需了解更高级的用例,请参阅下面支持的设置。

输入配置

下表列出了输入配置选项:

名称 默认 类型 说明 inputmode default 字符串 定义输入模式。touch、rotary 和 hybrid 选项可启用和停用触摸屏和旋转支持,并视情况设置默认的键码。default 遵循 touch 和 controller 选项。 controller false 布尔值 启用旋控器输入。除非 inputmode 为 default,否则会被忽略。 touch true 布尔值 启用触摸屏。除非 inputmode 为 default,否则会被忽略。 touchpad false 布尔值 启用触控板。 touchpadnavigation false 布尔值 允许使用触控板进行界面导航。 touchpadtapasselect false 布尔值 如果为 true,点按触控板是选择事件。 touchpaduiabsolute false 布尔值 当 touchpadnavigation 为 true 时,可设置应将触摸视为绝对触摸还是手势。 视频配置

Android Auto 支持三种视频分辨率:

480p(800x480,默认) 720p (1280x720) 1080p (1920x1080)

为了支持其他宽高比,车机可以根据需要指定信箱模式(邮筒模式)下的外边距。例如,如果您想使用 1000x600 的屏幕,应将分辨率设置为 720p (1280x720),将 marginwidth 设置为 280,将 marginheight 设置为 120。这样做的效果是在左右边缘添加 140px 的外边距,在顶部和底部添加 60px 的外边距。

下方是一个模拟了典型的 6 英寸屏幕 (750x450) 的示例配置:

[general] ... resolution = 800x480 marginwidth = 50 marginheight = 30

以下示例配置模拟了超宽屏幕:

[general] ... resolution = 1280x720 marginwidth = 0 marginheight = 220

下表列出了其他视频配置选项:

名称 默认 类型 说明 resolution 800x480 字符串 可以是 800x480、1280x720 和 1920x1080 其中之一。 dpi 160 整数 normalizedpi false 布尔值 如果为 true,减小 DHU 窗口大小以补偿较大的 DPI 值。如果为 false,较大的 DPI 值会产生较大的窗口;这不会模拟真实的显示效果,但可帮助您检查视觉内容。 realdpi 160 整数 在视频配置中使用。 framerate 30 整数 在视频配置中使用。 marginheight 0 整数 在视频配置中使用。 marginwidth 0 整数 在视频配置中使用。 margins 0,0,0,0 字符串 在视频配置中使用。会替换 marginwidth 和 marginheight(如果存在)。格式为上、下、左、右。 contentinsets 0,0,0,0 字符串 在视频配置中使用。格式为上、下、左、右。 stablecontentinsets 0,0,0,0 字符串 在视频配置中使用。默认为 contentinsets 的值。格式为上、下、左、右。 cropmargins false 布尔值 如果指定了 margins、marginheight 或 marginwidth,并且此设置的值为 true,会从显示的视频中移除这些外边距。这样可以更贴切地反映最终用户看到的内容。 pixelaspectratio 1.0 浮点数 在视频配置中使用。 传感器配置

如需模拟传感器数据并将其发送到 Android Auto,必须使用以下选项启用相应的传感器。如果传感器被停用,使用 DHU 命令为该传感器发送的任何数据都会被忽略。

名称 默认 类型 说明 accelerometer false 布尔值 启用加速度计传感器数据。 compass false 布尔值 启用罗盘传感器数据。 driving_status false 布尔值 启用驾驶状态传感器数据。 fuel false 布尔值 启用燃油传感器数据。 gyroscope false 布尔值 启用陀螺仪传感器数据。 location false 布尔值 启用车辆位置传感器数据。 night_mode false 布尔值 启用夜间模式传感器数据。 odometer false 布尔值 启用里程表传感器数据。 speed false 布尔值 启用速度传感器数据。 toll_card false 布尔值 启用收费卡传感器数据。 其他配置选项

下表列出了其他配置选项:

名称 默认 类型 说明 instrumentcluster false 布尔值 启用仪表板。向界面中添加一个窗口,以显示导航和手机状态。 navcluster false 布尔值 启用仪表板。向界面中添加一个窗口,以显示导航状态。 phonecluster false 布尔值 启用仪表板。向界面中添加一个窗口,以显示手机状态。 playbackstatus false 布尔值 启用播放状态。向界面中添加一个窗口,以显示播放状态消息。 driverposition left 字符串 可以是 left、center 和 right 其中之一。 windowleft 整数 设置主窗口的左侧位置。 windowtop 整数 设置主窗口的顶部位置。 fueltypes unleaded 字符串 以下一项或更多项(以英文逗号分隔): unleaded leaded diesel-1 diesel-2 biodiesel e85 lpg cng lng hydrogen electric other unknown evconnectors 字符串 以下零个或更多个(以英文逗号分隔): j1772 mennekes chademo combo-1 combo-2 roadster hpwc gbt supercharger other unknown 仅当 fueltypes 包含 electric 时才应设置。 问题排查

有时,DHU 会在首次连接时显示空白屏幕。若要解决该问题,您可以执行以下操作:

关闭 DHU。 按照运行 DHU 中的第 5 步停止和重启车机服务器。 重新启动 DHU。 授予手机屏幕上请求的任何其他权限。DHU 可能会再次关闭。 如有必要,请重启 DHU。 测试 Android Automotive OS 应用

您可以使用 Android 模拟器测试您的应用在 Android Automotive OS 上的运行情况。本部分介绍了如何设置 Android 虚拟设备 (AVD) 以测试应用。

注意:如果您构建的是媒体应用,还可以使用媒体控制器测试应用来测试媒体会话实现。 修改媒体应用的运行配置

Automotive OS 应用中的媒体应用与其他 Android 应用不同。Android Automotive OS 使用显式 intent 并通过向媒体浏览器服务发送调用来与媒体应用交互。

为了测试应用,请验证应用的清单中是否没有任何启动 activity,然后按照以下步骤阻止汽车模块启动 activity:

在 Android Studio 中,依次选择 Run > Edit Configurations。

“Run/Debug Configurations”对话框。

从应用中的模块列表中选择您的汽车模块。

在 Launch Options > Launch 下,选择 Nothing。

点击 Apply,然后点击 OK。

添加系统映像

您需要先通过 Android Studio SDK 管理器为设备添加系统映像,然后才能创建与特定制造商硬件匹配的 AVD。以后创建 AVD 时,您可以选择已下载的系统映像以便与 AVD 搭配使用。

注意:请将 Automotive 的模拟器系统映像视为 Beta 版,因为模拟器不支持蓝牙,并且系统映像未通过 GNSS 相关的 CTS 测试。 添加来自汽车制造商的系统映像

您可以为 GM、Honda、Polestar 和 Volvo 等设备添加 OEM 专属系统映像。请按照 OEM 开发者网站上的步骤操作:

按字母顺序:

GM Honda Polestar Volvo 安装通用系统映像

Android Studio 还包含 Android Automotive OS 的通用系统映像,您可以使用它来测试应用。您在截取要用在 Play 商店中的屏幕截图时,也应使用此通用系统映像。

名称 API 级别 架构 Play 商店 Google Automotive App Host android-automotive-video 库 Automotive Intel x86 Atom System Image 28 x86 ✔ Automotive with Play Store Intel x86 Atom System Image 29 x86 ✔ ✔ Automotive with Play Store Intel x86 Atom_64 System Image 30 x86 ✔ ✔ ✔ Automotive with Play Store ARM 64 v8a System Image 32 ARM ✔ ✔ ✔ Automotive with Play Store Intel x86 Atom_64 System Image 32 x86 ✔ ✔ ✔ 注意:此表中的映像仅在使用 Android Studio 预览版时可供下载。下载后,您可以通过 Android Studio 稳定版使用它们。

如需安装通用系统映像,请按以下步骤操作:

在 Android Studio 中,依次选择 Tools > SDK Manager。 点击 SDK Platforms 标签页。 点击 Show Package Details。 选择要下载的映像(如需了解详情,请参阅上表)

点击 Apply,然后点击 OK。

SDK 平台组件的列表 - 选择了通用系统映像。

创建汽车 AVD 并运行模拟器

如需创建代表 Android Automotive OS 车辆的 Android 虚拟设备 (AVD),然后使用该 AVD 运行模拟器,请按以下步骤操作:

在 Android Studio 中,依次选择 Tools > AVD Manager。 点击 Create Virtual Device。 在 Select Hardware 对话框中,选择 Automotive,然后选择一个设备并点击 Next。 选择以 Automotive 为目标平台的系统映像,如 Android 12L (Automotive with Play Store),然后点击 Next。 为您的 AVD 命名,再设置其他要自定义的选项,然后点击 Finish。 在工具窗口栏中,选择您的 Android Automotive OS AVD 作为部署目标。 点击 Run 按钮 “Run”图标。 注意:来自 Google 和 OEM 的系统映像包含 Google 应用,其中包括 Google 地图、Google 助理和 Google Play 商店。您可以使用这些应用来测试应用的行为、Google 助理集成,以及应用的下载和安装体验。 媒体应用的其他测试要求

如果您测试的是媒体应用,请测试本部分中涵盖的场景;在 Android Auto 和/或 Android Automotive OS 上测试应用除外。

测试 MediaBrowserService 启动场景

为了帮助确保驾驶员和乘客的安全,用户对在驾驶时如何与应用交互有额外的限制。因此,您的应用必须能够处理 Android Auto 和 Android Automotive OS 的一些 MediaBrowserService 启动场景,以便用户在驾车时继续享受您的内容。

测试您的应用,以确保它可以处理以下各种场景:

在打开任何 Activity 之前运行 MediaBrowserService。 当无法显示任何 Activity 时运行 MediaBrowserService。 当用户未登录时运行 MediaBrowserService。

在测试这些场景时,请务必尝试以下方法:

强行停止媒体应用,然后启动 Android Auto 或 Android Automotive OS。 清除媒体应用数据,然后启动 Android Auto 或 Android Automotive OS。

此外,还应确保在必要时设置适当的错误消息。

使用“媒体控制器测试”应用

媒体控制器测试应用可让您在 Android 平台上测试媒体播放的复杂性,并帮助验证您的媒体会话实现。如需开始使用此工具,请参阅使用“媒体控制器测试”应用。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3